Electronic devices are used to run different types of applications. Some applications have greater user interactivity than others. For example, an application which plays an MP3-format audio file typically has less user interactivity than a gaming application.
For applications having greater interactivity, the output of audio should be responsive, requiring a lower latency between the application layer and the audio chip. Lower latency provides audio output that most closely matches the video output associated with the game. For applications having lesser interactivity, the output of audio should have a greater latency, which helps minimize audio stutter.
Audio buffer management is conventionally designed for either high latency applications or low latency applications, or for a compromise between the two.
There is a need for a system and method for improving audio buffer management in a device which may run both high latency and low latency applications. Further, there is a need for a system and method for improving audio buffer management in a device which can operate applications having latency requirements not known at the time of manufacture of the device. Further still, there is a need for a system and method for adapting an audio buffer management scheme dynamically and transparently to accommodate a variety of different applications.